﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CompanySearchConsole.MongoEntities
{
    public class Company
    {

        public Company()
        {

            Words = new List<string>();
        }

        public Guid Id { get; set; }
        
        public string Name {get;set;}

        public List<string> Words { get; set;}


        //public string GICSName { get; set; }
        //public string Description { get; set; }
        //public int Type { get; set; }
        //public string Summary { get; set; }
        //public Nullable<System.Guid> GICSSector { get; set; }
        //public Nullable<System.Guid> PeerGroupSector { get; set; }
        //public System.Guid CountryId { get; set; }
        //public string Address { get; set; }
        //public string Phone1 { get; set; }
        //public string Phone2 { get; set; }
        //public string ContactPerson { get; set; }
        //public string Email { get; set; }
        //public string Website { get; set; }
        //public System.DateTime LastUpdate { get; set; }
        //public System.Guid LastUpdateUserId { get; set; }
        //public string Currency { get; set; }
        //public System.Guid TotalEmployeesId { get; set; }
        //public System.Guid TotalRevenueId { get; set; }
        //public System.Guid NetIncomeId { get; set; }
        //public System.Guid NEBTId { get; set; }
        //public System.Guid BusinessDescriptionId { get; set; }
        //public System.Guid MajorBrandsId { get; set; }
        //public System.Guid MajorOwnershipId { get; set; }
        //public int FiscalYearEndId { get; set; }
        //public string InternalComment { get; set; }
        //public Nullable<System.DateTime> LastComprehensiveUpdate { get; set; }
        //public int OwnershipStructureId { get; set; }
        //public int WorkingVersion { get; set; }
        //public int WorkingStatus { get; set; }
        //public bool Computing { get; set; }
        //public System.DateTime LastFinalUpdate { get; set; }
        //public bool StatusChanging { get; set; }
        //public System.Guid MarketCapitalizationId { get; set; }
        //public Nullable<System.Guid> MainTickerId { get; set; }
        //public Nullable<System.Guid> MainSedolId { get; set; }
        //public Nullable<System.Guid> MainISINId { get; set; }
        //public string WorkingSummary { get; set; }
        //public System.Guid DraftResponsibleUserId { get; set; }
        //public string LatestAnnualReport { get; set; }
        //public string LatestSustainabilityReport { get; set; }
        //public System.DateTime CreationDate { get; set; }
        //public string CIQID { get; set; }
        //public Nullable<System.Guid> MainCUSIPId { get; set; }
        //public int HoursPlanned { get; set; }
        //public int HoursSpent { get; set; }
        //public System.DateTime NextAnnualReport { get; set; }
        //public System.DateTime NextSustainabilityReport { get; set; }
        //public System.DateTime PlannedReleaseInitial { get; set; }
        //public Nullable<System.DateTime> PlannedReleaseAdapted { get; set; }
        //public bool HardDeadline { get; set; }
        //public System.DateTime LastFinalControversyUpdate { get; set; }
        //public bool InResearch { get; set; }
        //public Nullable<System.DateTime> LatestRequestedFeedback { get; set; }
        //public Nullable<System.Guid> ClientRequestGroupId { get; set; }
        //public bool FullUpdate { get; set; }
        //public Nullable<System.Guid> LastComprehensiveUpdateUserId { get; set; }
        //public bool IsControversyResearchOnly { get; set; }
        //public int FinalAnalystRatingId { get; set; }
        //public int WorkingAnalystRatingId { get; set; }
        //public int AutomatedAnalystRatingId { get; set; }
        //public bool IsAutomatedAnalystRatingOverruled { get; set; }
        //public string WorkingOverruleReason { get; set; }
        //public string FinalOverruleReason { get; set; }
        //public System.DateTime OverruleTimestamp { get; set; }
        //public Nullable<System.DateTime> LatestReceivedFeedback { get; set; }
        //public System.Guid PeerReviewerUserId { get; set; }
        //public int Priority { get; set; }
        //public bool IsParked { get; set; }
        //public System.DateTime LastTransitionOnStandardWorkflow { get; set; }
        //public string PeerReviewOverallAppraisal { get; set; }
        //public string PeerReviewEngagementMatters { get; set; }
        //public string PeerReviewSummary { get; set; }
        //public Nullable<bool> PeerReviewSummary_ChangesAccepted { get; set; }
        //public bool PeerReviewSummary_IsPeerReviewed { get; set; }
        //public bool ReservedForSpecificAnalyst { get; set; }
        //public bool ClientRequest { get; set; }
        //public string WorkingAnalystCommentary { get; set; }
        //public string FinalAnalystCommentary { get; set; }
        //public string PeerReviewAnalystCommentary { get; set; }
        //public Nullable<bool> PeerReviewAnalystCommentary_ChangesAccepted { get; set; }
        //public bool PeerReviewAnalystCommentary_IsPeerReviewed { get; set; }
        //public Nullable<double> Latitude { get; set; }
        //public Nullable<double> Longitude { get; set; }
        //public System.DateTime LastCorporateDataUpdate { get; set; }
        //public string FinalLatestAnnualReport { get; set; }
        //public string FinalLatestSustainabilityReport { get; set; }
        //public Nullable<System.DateTime> FinalLatestRequestedFeedback { get; set; }
        //public Nullable<System.DateTime> FinalLatestReceivedFeedback { get; set; }
        //public System.DateTime LastCentralizedResearchUpdate { get; set; }
        

    }


    public class Ticker
    {
        public Guid Id { get; set; }

        public Guid CompanyId { get; set; }

        public string Value { get; set; }
    }

    public class Isin
    { 
        public Guid Id { get; set; }

        public Guid CompanyId { get; set; }
        public string Value { get; set;}
    }


    public class Sedol
    {
        public Guid CompanyId { get; set; }
        public Guid Id { get; set; }
        public string Value { get; set; }
    }
    
    
}
